home *** CD-ROM | disk | FTP | other *** search
- package javax.swing;
-
- import java.awt.Point;
- import java.beans.PropertyChangeEvent;
- import java.beans.PropertyChangeListener;
- import java.util.EventObject;
- import javax.accessibility.Accessible;
- import javax.accessibility.AccessibleContext;
- import javax.accessibility.AccessibleRole;
- import javax.accessibility.AccessibleSelection;
- import javax.swing.event.CellEditorListener;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ListSelectionEvent;
- import javax.swing.event.ListSelectionListener;
- import javax.swing.event.TableColumnModelEvent;
- import javax.swing.event.TableColumnModelListener;
- import javax.swing.event.TableModelEvent;
- import javax.swing.event.TableModelListener;
- import javax.swing.table.JTableHeader;
- import javax.swing.table.TableCellEditor;
- import javax.swing.table.TableCellRenderer;
- import javax.swing.table.TableColumn;
- import javax.swing.table.TableColumnModel;
- import javax.swing.table.TableModel;
-
- public class JTable$AccessibleJTable extends JComponent.AccessibleJComponent implements AccessibleSelection, ListSelectionListener, TableModelListener, TableColumnModelListener, CellEditorListener, PropertyChangeListener {
- // $FF: synthetic field
- private final JTable this$0;
- int lastSelectedRow;
- int lastSelectedCol;
-
- JTable$AccessibleJTable(JTable var1) {
- super(var1);
- this.this$0 = var1;
- ((JComponent)var1).addPropertyChangeListener(this);
- var1.getSelectionModel().addListSelectionListener(this);
- TableColumnModel var2 = var1.getColumnModel();
- var2.addColumnModelListener(this);
- var2.getSelectionModel().addListSelectionListener(this);
- var1.getModel().addTableModelListener(this);
- this.lastSelectedRow = var1.getSelectedRow();
- this.lastSelectedCol = var1.getSelectedColumn();
- }
-
- // $FF: synthetic method
- static JTable access$0(JTable$AccessibleJTable var0) {
- return var0.this$0;
- }
-
- public void addAccessibleSelection(int var1) {
- if (this.this$0.cellSelectionEnabled) {
- int var2 = this.getAccessibleColumnAtIndex(var1);
- int var3 = this.getAccessibleRowAtIndex(var1);
- this.this$0.addRowSelectionInterval(var3, var3);
- this.this$0.addColumnSelectionInterval(var2, var2);
- }
-
- }
-
- public void clearAccessibleSelection() {
- this.this$0.clearSelection();
- }
-
- public void columnAdded(TableColumnModelEvent var1) {
- ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", (Object)null, (Object)null);
- }
-
- public void columnMarginChanged(ChangeEvent var1) {
- ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", (Object)null, (Object)null);
- }
-
- public void columnMoved(TableColumnModelEvent var1) {
- ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", (Object)null, (Object)null);
- }
-
- public void columnRemoved(TableColumnModelEvent var1) {
- ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", (Object)null, (Object)null);
- }
-
- public void columnSelectionChanged(ListSelectionEvent var1) {
- }
-
- public void editingCanceled(ChangeEvent var1) {
- }
-
- public void editingStopped(ChangeEvent var1) {
- ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", (Object)null, (Object)null);
- }
-
- private Accessible getAccessibleAt(int var1, int var2) {
- return this.getAccessibleChild(var1 * this.getAccessibleColumnCount() + var2);
- }
-
- public Accessible getAccessibleAt(Point var1) {
- int var2 = this.this$0.columnAtPoint(var1);
- int var3 = this.this$0.rowAtPoint(var1);
- if (var2 != -1 && var3 != -1) {
- TableColumn var4 = this.this$0.getColumnModel().getColumn(var2);
- TableCellRenderer var5 = var4.getCellRenderer();
- if (var5 == null) {
- Class var6 = this.this$0.getColumnClass(var2);
- var5 = this.this$0.getDefaultRenderer(var6);
- }
-
- var5.getTableCellRendererComponent(this.this$0, (Object)null, false, false, var3, var2);
- return new JTable.AccessibleJTable.AccessibleJTableCell(this, this.this$0, var3, var2, this.getAccessibleIndexAt(var3, var2));
- } else {
- return null;
- }
- }
-
- public Accessible getAccessibleChild(int var1) {
- if (var1 >= 0 && var1 < this.getAccessibleChildrenCount()) {
- int var2 = this.getAccessibleColumnAtIndex(var1);
- int var3 = this.getAccessibleRowAtIndex(var1);
- TableColumn var4 = this.this$0.getColumnModel().getColumn(var2);
- TableCellRenderer var5 = var4.getCellRenderer();
- if (var5 == null) {
- Class var6 = this.this$0.getColumnClass(var2);
- var5 = this.this$0.getDefaultRenderer(var6);
- }
-
- var5.getTableCellRendererComponent(this.this$0, (Object)null, false, false, var3, var2);
- return new JTable.AccessibleJTable.AccessibleJTableCell(this, this.this$0, var3, var2, this.getAccessibleIndexAt(var3, var2));
- } else {
- return null;
- }
- }
-
- public int getAccessibleChildrenCount() {
- return this.this$0.getColumnCount() * this.this$0.getRowCount();
- }
-
- private int getAccessibleColumnAtIndex(int var1) {
- return var1 % this.getAccessibleColumnCount();
- }
-
- private int getAccessibleColumnCount() {
- return this.this$0.getColumnCount();
- }
-
- private Accessible getAccessibleColumnHeader(int var1) {
- JTableHeader var2 = this.this$0.getTableHeader();
- AccessibleContext var3 = var2.getAccessibleContext();
- return var3 != null ? var3.getAccessibleChild(var1) : null;
- }
-
- private int getAccessibleIndexAt(int var1, int var2) {
- return var1 * this.getAccessibleColumnCount() + var2;
- }
-
- public AccessibleRole getAccessibleRole() {
- return AccessibleRole.TABLE;
- }
-
- private int getAccessibleRowAtIndex(int var1) {
- return var1 / this.getAccessibleColumnCount();
- }
-
- private int getAccessibleRowCount() {
- return this.this$0.getRowCount();
- }
-
- private Accessible getAccessibleRowHeader(int var1) {
- return null;
- }
-
- public AccessibleSelection getAccessibleSelection() {
- return this;
- }
-
- public Accessible getAccessibleSelection(int var1) {
- if (var1 >= 0 && var1 <= this.getAccessibleSelectionCount()) {
- int var2 = this.this$0.getSelectedRowCount();
- int var3 = this.this$0.getSelectedColumnCount();
- int[] var4 = this.this$0.getSelectedRows();
- int[] var5 = this.this$0.getSelectedColumns();
- int var6 = this.this$0.getColumnCount();
- int var7 = this.this$0.getRowCount();
- if (this.this$0.cellSelectionEnabled) {
- int var20 = var4[var1 / var3];
- int var25 = var5[var1 % var3];
- return this.getAccessibleChild(var20 * var6 + var25);
- } else {
- if (this.this$0.getRowSelectionAllowed() && this.this$0.getColumnSelectionAllowed()) {
- int var10 = var1;
- boolean var11 = false;
- boolean var12 = true;
- int var13 = var4[0] == 0 ? 0 : 1;
- int var14 = 0;
- int var15 = -1;
-
- while(var14 < var4.length) {
- switch (var13) {
- case 0:
- if (var10 < var6) {
- int var23 = var10 % var6;
- int var18 = var4[var14];
- return this.getAccessibleChild(var18 * var6 + var23);
- }
-
- var10 -= var6;
- if (var14 + 1 == var4.length || var4[var14] != var4[var14 + 1] - 1) {
- var13 = 1;
- var15 = var4[var14];
- }
-
- ++var14;
- break;
- case 1:
- if (var10 < var3 * (var4[var14] - (var15 == -1 ? 0 : var15 + 1))) {
- int var22 = var5[var10 % var3];
- int var17 = (var14 > 0 ? var4[var14 - 1] + 1 : 0) + var10 / var3;
- return this.getAccessibleChild(var17 * var6 + var22);
- }
-
- var10 -= var3 * (var4[var14] - (var15 == -1 ? 0 : var15 + 1));
- var13 = 0;
- }
- }
-
- if (var10 < var3 * (var7 - (var15 == -1 ? 0 : var15 + 1))) {
- int var24 = var5[var10 % var3];
- int var19 = var4[var14 - 1] + var10 / var3 + 1;
- return this.getAccessibleChild(var19 * var6 + var24);
- }
- } else {
- if (this.this$0.getRowSelectionAllowed()) {
- int var21 = var1 % var6;
- int var16 = var4[var1 / var6];
- return this.getAccessibleChild(var16 * var6 + var21);
- }
-
- if (this.this$0.getColumnSelectionAllowed()) {
- int var9 = var5[var1 % var3];
- int var8 = var1 / var3;
- return this.getAccessibleChild(var8 * var6 + var9);
- }
- }
-
- return null;
- }
- } else {
- return null;
- }
- }
-
- public int getAccessibleSelectionCount() {
- int var1 = this.this$0.getSelectedRowCount();
- int var2 = this.this$0.getSelectedColumnCount();
- if (this.this$0.cellSelectionEnabled) {
- return var1 * var2;
- } else if (this.this$0.getRowSelectionAllowed() && this.this$0.getColumnSelectionAllowed()) {
- return var1 * this.this$0.getColumnCount() + var2 * this.this$0.getRowCount() - var1 * var2;
- } else if (this.this$0.getRowSelectionAllowed()) {
- return var1 * this.this$0.getColumnCount();
- } else {
- return this.this$0.getColumnSelectionAllowed() ? var2 * this.this$0.getRowCount() : 0;
- }
- }
-
- public boolean isAccessibleChildSelected(int var1) {
- int var2 = this.getAccessibleColumnAtIndex(var1);
- int var3 = this.getAccessibleRowAtIndex(var1);
- return this.this$0.isCellSelected(var3, var2);
- }
-
- public void propertyChange(PropertyChangeEvent var1) {
- String var2 = var1.getPropertyName();
- Object var3 = var1.getOldValue();
- Object var4 = var1.getNewValue();
- if (var2.compareTo("model") == 0) {
- if (var3 != null && var3 instanceof TableModel) {
- ((TableModel)var3).removeTableModelListener(this);
- }
-
- if (var4 != null && var4 instanceof TableModel) {
- ((TableModel)var4).addTableModelListener(this);
- }
- } else if (var2.compareTo("selectionModel") == 0) {
- Object var5 = ((EventObject)var1).getSource();
- if (var5 == this.this$0) {
- if (var3 != null && var3 instanceof ListSelectionModel) {
- ((ListSelectionModel)var3).removeListSelectionListener(this);
- }
-
- if (var4 != null && var4 instanceof ListSelectionModel) {
- ((ListSelectionModel)var4).addListSelectionListener(this);
- }
- } else if (var5 == this.this$0.getColumnModel()) {
- if (var3 != null && var3 instanceof ListSelectionModel) {
- ((ListSelectionModel)var3).removeListSelectionListener(this);
- }
-
- if (var4 != null && var4 instanceof ListSelectionModel) {
- ((ListSelectionModel)var4).addListSelectionListener(this);
- }
- }
- } else if (var2.compareTo("columnModel") == 0) {
- if (var3 != null && var3 instanceof TableColumnModel) {
- TableColumnModel var6 = (TableColumnModel)var3;
- var6.removeColumnModelListener(this);
- var6.getSelectionModel().removeListSelectionListener(this);
- }
-
- if (var4 != null && var4 instanceof TableColumnModel) {
- TableColumnModel var7 = (TableColumnModel)var3;
- var7.addColumnModelListener(this);
- var7.getSelectionModel().addListSelectionListener(this);
- }
- } else if (var2.compareTo("tableCellEditor") == 0) {
- if (var3 != null && var3 instanceof TableCellEditor) {
- ((TableCellEditor)var3).removeCellEditorListener(this);
- }
-
- if (var4 != null && var4 instanceof TableCellEditor) {
- ((TableCellEditor)var4).addCellEditorListener(this);
- }
- }
-
- }
-
- public void removeAccessibleSelection(int var1) {
- if (this.this$0.cellSelectionEnabled) {
- int var2 = this.getAccessibleColumnAtIndex(var1);
- int var3 = this.getAccessibleRowAtIndex(var1);
- this.this$0.removeRowSelectionInterval(var3, var3);
- this.this$0.removeColumnSelectionInterval(var2, var2);
- }
-
- }
-
- public void selectAllAccessibleSelection() {
- if (this.this$0.cellSelectionEnabled) {
- this.this$0.selectAll();
- }
-
- }
-
- public void tableChanged(TableModelEvent var1) {
- ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", (Object)null, (Object)null);
- }
-
- public void tableRowsDeleted(TableModelEvent var1) {
- ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", (Object)null, (Object)null);
- }
-
- public void tableRowsInserted(TableModelEvent var1) {
- ((AccessibleContext)this).firePropertyChange("AccessibleVisibleData", (Object)null, (Object)null);
- }
-
- public void valueChanged(ListSelectionEvent var1) {
- ((AccessibleContext)this).firePropertyChange("AccessibleSelection", new Boolean(false), new Boolean(true));
- int var2 = this.this$0.getSelectedRow();
- int var3 = this.this$0.getSelectedColumn();
- if (var2 != this.lastSelectedRow || var3 != this.lastSelectedCol) {
- Accessible var4 = this.getAccessibleAt(this.lastSelectedRow, this.lastSelectedCol);
- Accessible var5 = this.getAccessibleAt(var2, var3);
- ((AccessibleContext)this).firePropertyChange("AccessibleActiveDescendant", var4, var5);
- this.lastSelectedRow = var2;
- this.lastSelectedCol = var3;
- }
-
- }
- }
-